package com.dimples.dd.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dimples.dd.common.model.Option;
import com.dimples.dd.common.pojo.PageResult;
import com.dimples.dd.system.model.entity.SystemPostDO;
import com.dimples.dd.system.model.form.PostForm;
import com.dimples.dd.system.model.query.PostPageQuery;
import com.dimples.dd.system.model.vo.PostPageVO;

import java.util.List;

public interface SystemPostService extends IService<SystemPostDO> {

    /**
     * 获取岗位分页列表
     *
     * @param queryParams 查询条件
     * @return PageResult<PostPageVO>
     */
    PageResult<PostPageVO> getPostPage(PostPageQuery queryParams);

    /**
     * 获取岗位下拉列表
     *
     * @return List<Option < Long>>
     */
    List<Option<Long>> listPostOptions();

    /**
     * 获取岗位表单数据
     *
     * @param postId 岗位ID
     * @return PostForm
     */
    PostForm getPostForm(Long postId);

    /**
     * 新增岗位
     *
     * @param postForm 岗位表单
     * @return boolean
     */
    boolean createPost(PostForm postForm);

    /**
     * 修改岗位
     *
     * @param postForm 岗位表单
     * @return boolean
     */
    boolean updatePost(PostForm postForm);

    /**
     * 删除岗位
     *
     * @param ids 岗位ID，多个以英文逗号(,)分割
     * @return boolean
     */
    boolean deletePost(String ids);
}
